草庐IT

php - XPath 2.0 和 LibXML2

全部标签

xml - 用于根据当前节点的内容选择父节点的 XPath?

我有一个XML文档,其中的部分类似于以下内容:100202110122211022223在某些时候,我让XSLfor-each语句循环遍历每个版本,然后依次遍历每个文件列表。当我遍历每个文件时,我想获取有关哪些其他版本不包含相同文件ID的信息。(因此,例如,当我在版本100中迭代文件20时,我想获得指向版本101和102的指针,但是当我在同一包中迭代文件21时,我只想要一个指向版本102的指针.)有没有办法用XPath做到这一点?我想出的最接近的事情是:../../../release[not(file_list/file/id=./id)]...这当然会失败,因为在方括号内,'./'

xml - 具有基于变量的小数位数的 XPath 格式数字?

我有一个XML文档,其中应报告特定xs:decimal的小数位数保存在同级节点中。我目前正在努力寻找一种简单的方法来通过format-number函数输出它。我可以使用其他一些函数构建一个图片字符串,但是对于本应(至少在我看来)相对简单和常见的任务来说,这似乎过于冗长了。例如我目前正在做的是这样的:有没有更好的办法? 最佳答案 很好的问题!这通常意味着,我不知道答案,但我希望其他人知道,因为这对我来说也是一种痛苦。无论如何,我做了一些搜索,我认为round-half-to-even函数可能会成功(http://www.xqueryf

xml - 使用 XML::LibXML:如何创建 namespace 和子元素并使它们协同工作?

我正在尝试使用FOAF和Perl做一些事情。我对当前的解决方案不满意,我想推出自己的解决方案。请不要引用除XML::LibXML之外的任何模块。这里有一个FOAF文件的片段供引用EvanCarroll....现在,除了空格,我正在尝试使用XML::LibXML重新创建它。但是,不幸的是,我被困在第一行。这只关注第一行:我认为这是元素RDF,在命名空间rdf中声明属性rdf在命名空间xmlns中,值为http://www.w3.org/1999/02/22-rdf-syntax-ns#属性rdfs在命名空间xmlns中,值为http://www.w3.org/2000/01/rdf-sc

php - 修改 XML 属性 PHP DOM

我有一个看起来像这样的XML文件。SomeInfo我正在寻找用新属性替换上述XML文件中的任何属性的方法,使用PHPDOM和Xpath。非常感谢任何帮助 最佳答案 不确定你到底想做什么,但总体思路是:您必须实例化DOMDocument并加载您的XML字符串:DOMDocument::loadXML然后,您必须实例化DOMXpath在那个文件上并用它来查询文档:DOMXPath::query一旦你找到了你感兴趣的节点,你就可以操纵它例如,您可以设置一个属性的值:DOMElement::setAttribute例如,在这里,您可以使用这

xml - 这个 XPath 有什么问题?

我有这个XML:我有这个LINQ语句:intcount=doc.XPathSelectElements("//category").Elements().Count();我想要的是所有“类别”元素,基本上,扁平化为一个数组,然后我可以foreach。问题是返回的计数值(以及,如果被取消,返回的数组)显示最顶层的类别元素没有被返回。在本例中,我返回了6个“类别”元素,而不是7个。我使用的是从[thispage]学到的XPath(http://www.developer.com/xml/article.php/10929_3383961_1/NET-and-XML-XPath-Querie

xml - 这对 xpath 来说是不可能的吗?

是否可以使用xpath以某种方式转换结果,就像使用SQL一样?鉴于以下情况:例如,如果我想获取所有b节点,但我不希望z属性成为结果的一部分。或者我正在考虑的另一件事是接收所有y节点乘以一个类似/a/b[(@y*2)]的因子,这似乎是不可能的,至少我不知道如何写出来。 最佳答案 正如@svick的回答中所指出的,XPath表达式可以从XML文档中选择一组节点,但它不能更改XML文档或创建新文档。这是一个生成新XML文档的XSLT转换,其中省略了z属性并将y属性乘以2。当此转换应用于提供的XML文档时(更正为格式正确):产生了想要的、正

php - 如何使用 PHP 在 Web 服务器上保存 XML 文件?

我是PHP的初学者,对XML操作一无所知。我正在处理如下所示的GoogleCSE注释XML:----我想从上面显示的文件中实现:----到目前为止,我已经尝试过:Annotationas$annotation){if($annotation["about"]=="http://sanspace.in/"){$annotation->Label["name"]="testString1";}else{$annotation->Label["name"]="testString2";}}$dom=newDOMDocument('1.0');$dom->preserveWhiteSpace=

php - 带有MySql数据库的动态PHP网站;如何为此创建站点地图?

我有一个分类网站。该网站基于php,并使用mysql数据库。今天,我有一个站点地图,我必须使用外部php脚本对其进行更新。这个php脚本从数据库中获取所有分类信息并创建一个新鲜的xml站点地图。问题是我必须手动执行此操作,首先打开php脚本,然后等待它完成,然后再次将站点地图提交给google(即使最后一步是可选的,我仍然会这样做)。我还必须指出,即使我确实将其提交给了谷歌,它仍然没有被编入索引(没有出现在搜索结果中),这是我想要的。我希望分类信息尽快显示在googleSERPS中。目前,这花费的时间太长了……大概一周左右。无论如何,我需要知道如何改进我现有的方法。我应该在每个新分类上

PHP XML 添加编辑删除

我有以下XML结构,我想要这样的代码:插入删除根据TITLE值删除整个元素。用另一个值替换发布者的值XXXXXX这是我的XML结构:Assassin'sCreed:BrotherhoodUbisoftBatman:ArkhamAsylumEidos 最佳答案 使用SimpleXML:TITLE=='Batman:ArkhamAsylum'){//removetheGameelementunset($games->Game[$i]);}$i++;}//savetheamendedfile$games->asXML('games2.xm

php - 如何用php编辑xml子节点

在我问这个问题之前我已经在这里搜索过..我知道这里某处有答案..但我找不到..我希望能够在我的xml文件中通过id编辑子节点。我尝试了很多脚本,但我在这方面遇到了非常糟糕的时间。请在edit.php中查看这一行:echo"theproblemisinthenextline";这是服务器读取的最后一行..谢谢你的帮助。事件.xml1aaa2bbbedit.phpheader("Content-type:text/html;charset=utf-8");$record=array('id'=>$_POST['id'],'event'=>$_POST['event'],'eventDate